import { findAllCategory } from '@/api/category'
import { topCategory } from '@/api/constants'
export default {
  // 开启命名空间
  namespaced: true,
  state: {
    // 遍历常量，返回一个对象，对象里面有name属性，值是item
    list: topCategory.map(item => ({ name: item }))
  },
  // 加载数据成功后需要修改list所以需要mutations函数
  mutations: {
    setList(state, payload) {
      state.list = payload
    },
    show(state, id) {
      // 通过id来查找对应的对象
      const obj = state.list.find(item => item.id === id)
      // 修改它的属性
      obj.open = true
    },
    hide(state, id) {
      const obj = state.list.find(item => item.id === id)
      obj.open = false
    }
  },
  actions: {
    // 需要向后台加载数据，所以需要actions函数获取数据
    async getList({ commit }) {
      // 获取全部分类数据
      const res = await findAllCategory()
      // 获取数据成功，提交mutations进行数据修改
      // 遍历每一项，添加open属性 用open来控制是否显示
      res.result.forEach(item => {
        return (item.open = false)
      })
      commit('setList', res.result)
      console.log(res)
    }
  }
}
